package src.dynamic_programming;

/**
 * @author starsea
 * @date 2024-09-17 16:08
 */

public class Test16 {
    public static void main(String[] args) {
        String str="zab";
        int c=findSubstringInWraproundString(str);
    }
    public static int findSubstringInWraproundString(String s) {
        int n=s.length();
        int[] dp=new int[n];
        int[] arr=new int[26];
        for(int i=0;i<n;i++) {
        dp[i]=1;
        }
        for(int i=1;i<n;i++) {

                if ((s.charAt(i) - s.charAt(i-1) + 26) % 26 == 1) {
                    dp[i] += dp[i - 1];
            }
        }
        for(int i=0;i<n;i++)
        {
            arr[s.charAt(i)-'a']=Math.max(dp[i],arr[s.charAt(i)-'a']);
        }
        int sum=0;
        for(int i=0;i<26;i++)
        {
            sum+=arr[i];
        }
        return sum;

    }
}
